#include "SFML/Graphics.hpp"
#include <cmath>
#include <iostream>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_projection.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtx/vector_access.hpp>



#ifndef __UTILS_H__
#define __UTILS_H__
/** Vectorial product*/
sf::Vector3f prod(sf::Vector3f a, sf::Vector3f b);

/** norm computation */
float norm(sf::Vector3f v);// { return v.x * v.x + v.y * v.y + v.z * v.z;};

/** absolute value computation */
template<class T> T abs(T a) {if (a > 0) return a; else return -a;};

float getVectorAngle(sf::Vector3f);

float getVectorAngle(glm::vec3);

//inline int mod(int i, int m){  if (i >= 0) return (i % m); else return - ((-i) % m) + m;}; 

#endif


